﻿// ***********************************************************************
// Assembly         : Delta_entidad
// Author           : Juan Alberto Cerino Gomez
// Created          : 04-30-2013
//
// Last Modified By : Juan Alberto Cerino Gomez
// Last Modified On : 05-12-2013
// ***********************************************************************
// <copyright file="AttTipo.cs" company="Delta Bussines">
//     Copyright (c) 2013  Delta Bussines. All rights reserved.
// </copyright>
// <summary></summary>
// ***********************************************************************
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Delta_entidad.Atributos
{
    /// <summary>
    /// Este atributo se coloca en las propiedades de la clase, indica la configuración del tipo de dato al cual se convertirá el dato de la entidad y ademas permite la configuración de validación REGEX.
    /// <br/>Este atributo es OPCIONAL, uselo solo cuando deseé configurar la validación REGEX al campo.
    /// </summary>
    [Serializable()]
    [AttributeUsage(AttributeTargets.Property, Inherited = false, AllowMultiple = false)]
    public class AttTipo : System.Attribute
    {

        #region Declaraciones
        /// <summary>
        /// Variable que guarda los datos del campo.
        /// </summary>
        protected internal EntidadesControl.Cat_tipo_columna _tipo = null;
        #endregion

        /// <summary>
        /// Obtiene los datos de la configuración.
        /// </summary>
        /// <value>Datos de la configuración.</value>
        public EntidadesControl.Cat_tipo_columna tipo
        {
            get
            {
                if (_tipo == null)
                    _tipo = new EntidadesControl.Cat_tipo_columna();
                return _tipo;

            }
        }
        /// <summary>
        /// Constructor de la clase.
        /// </summary>
        /// <param name="ValidacionREGEX">Indica la cadena REGEX a usar para validar el campo.</param>
        /// <param name="TextoValidacionREGEX">Indica el texto que se muestra cuando un campo no es valido, segun la validacion REGEX usada, puede hacer referencia al titulo del campo escribiendo {0}.</param>
        public AttTipo(string ValidacionREGEX, string TextoValidacionREGEX)
        {
            tipo.tipo_codigo = null;
            tipo.tipo_bd = null;
            tipo.regex_validacion = ValidacionREGEX;
            tipo.texto_regex = TextoValidacionREGEX;
        }
    }
}
